unit reportslist;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Buttons,
  ComCtrls, DbCtrls;

type

  { TfrmReportsList }

  TfrmReportsList = class(TForm)
    BitBtn1: TBitBtn;
    btnRevisionOnStoreHouse: TBitBtn;
    btnEditReports: TBitBtn;
    btnCatalog: TBitBtn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    procedure BitBtn1Click(Sender: TObject);
    procedure btnCatalogClick(Sender: TObject);
    procedure btnRevisionOnStoreHouseClick(Sender: TObject);
    procedure btnEditReportsClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  frmReportsList: TfrmReportsList;

implementation

{$R *.lfm}

uses main, LR_Class, BufDataset,db,storehouseselect;
{ TfrmReportsList }

{ TODO 4 : Звіт за період по обороту
Сума всіх накладних за заданий період
Чистий дохід - Це різниця між вхідною та продажною ціною
Валовий дохід = Сума всіх операцій
Назва Кільк проданих шт, їх загальна сума, чистий дохід з проданого
}
{ TODO 4 : Звіт по закупкам
{
Загальна кількість
Загальна сума - по ревізії по складу
мін кільк - видалити
}
}



procedure TfrmReportsList.BitBtn1Click(Sender: TObject);
begin
  FrmMain.DSStoreHouses.DataSet.Open;
  FrmMain.frDBDataSet.DataSource:=FrmMain.DSStoreHouses;
  FrmMain.frReport.LoadFromFile(FrmMain.program_dir+'reports\storehouseslist.lrf');
  FrmMain.frReport.ShowReport;
end;

procedure TfrmReportsList.btnCatalogClick(Sender: TObject);
var
  i:Integer;
  bandImages : TfrBandView;
begin
  frmMain.DSStoreHousesNomenclatureView.DataSet.Open;
  frmMain.bufDataset.Active:=False;
  frmMain.bufDataset.FieldDefs.Clear;
  frmMain.bufDataset.FieldDefs.Add('id',ftInteger);
  frmMain.bufDataset.FieldDefs.Add('title',ftString,200);
  frmMain.bufDataset.FieldDefs.Add('priceretail',ftCurrency);
  frmMain.bufDataset.FieldDefs.Add('pricesmallwholesale',ftCurrency);
  frmMain.bufDataset.FieldDefs.Add('pricebigwholesale',ftCurrency);
  frmMain.bufDataset.FieldDefs.Add('image',ftBlob);
  frmMain.bufDataset.CreateDataset;
  frmMain.bufDataset.Open;
  frmMain.rDataCatalog(frmMain.bufDataset,'0');
  frmMain.frDBDataSet.DataSet:=frmMain.bufDataset;
  frmMain.bufDataset.First;
  frmMain.frReport.LoadFromFile(frmMain.program_dir+'reports\catalog.lrf');
  try
    frmMain.frReport.PrepareReport;
    frmMain.frReport.ShowReport;
  except
    on e : Exception do begin
      frmMain.EventLog.Error('btnCatalogClick '+e.Message);
    end;
  end;
  //bufDataset.Free;
end;

procedure TfrmReportsList.btnRevisionOnStoreHouseClick(Sender: TObject);
begin
  frmStoreHouseSelect.ShowModal;
  if (frmMain.storeHouseSelectedId<>0) then begin
    FrmMain.DSStoreHousesNomenclatureView.DataSet.Open;
    FrmMain.DSStoreHousesNomenclatureView.DataSet.Filter:='storehouseid='+IntToStr(FrmMain.storeHouseSelectedId);
    FrmMain.DSStoreHousesNomenclatureView.DataSet.Filtered:=True;
    FrmMain.DSStoreHousesNomenclatureView.DataSet.Refresh;
    FrmMain.frDBDataSet.DataSource:=FrmMain.DSStoreHousesNomenclatureView;
    FrmMain.frReport.LoadFromFile(FrmMain.program_dir+'reports'+PathDelim+'storehousesrevision.lrf');
    FrmMain.frReport.ShowReport;
  end;
end;

procedure TfrmReportsList.btnEditReportsClick(Sender: TObject);
begin
  FrmMain.frDBDataSet.DataSource := frmMain.ZTablePictures.DataSource;
  FrmMain.frReport.DesignReport;
end;

end.

